using System;
using System.Collections.Generic;
using SqlSugar;

namespace FytSoa.Core.Model.TourGuide
{
    /// <summary>
    /// 导游通服务订单表
    /// </summary>
    [SugarTable("tg_order")]
    public class TourGuideOrder
    {
        /// <summary>
        /// 唯一编号
        /// </summary>
        public string Guid { get; set; }

        /// <summary>
        /// 订单编号
        /// </summary>
        public string Number { get; set; }

        /// <summary>
        /// 区域类型  1=国内航班2=国际航班
        /// </summary>
        public int Types { get; set; } = 1;

        /// <summary>
        /// 服务类型
        ///1=普通接送-接机服务
        ///2=普通接送-送机服务
        ///3=VIP接送=接机服务
        ///4-VIP接送=送机服务
        ///5=登机口接送-接机服务
        ///6=登机口接送-送机服务
        ///7=快速通道-快速通道
        ///8=休息室-贵宾休息室
        /// </summary>
        public int Mold { get; set; } = 1;

        /// <summary>
        /// 用户编号
        /// </summary>
        public string MemberGuid { get; set; }

        /// <summary>
        /// 航班号
        /// </summary>
        public string FlightNumber { get; set; }

        /// <summary>
        /// 服务日期
        /// </summary>
        public DateTime ServiceData { get; set; }

        /// <summary>
        /// 起飞时间
        /// </summary>
        public DateTime TakeOffTime { get; set; }

        /// <summary>
        /// 落地时间
        /// </summary>
        public DateTime LandTime { get; set; }

        /// <summary>
        /// 落地时间是否次日
        /// </summary>
        public bool IsNextDay { get; set; } = false;

        /// <summary>
        /// 人数
        /// </summary>
        public int PeopleNumber { get; set; } = 0;

        /// <summary>
        /// 证件号
        /// </summary>
        public string CodeNumber { get; set; }

        /// <summary>
        /// 联系方式
        /// 包含联系人和联系方式
        /// </summary>
        [SugarColumn(IsJson = true)]
        public List<ServiceContactUs> ContactUs { get; set; }

        /// <summary>
        /// 司机电话
        /// </summary>
        public string DriverPhone { get; set; }

        /// <summary>
        /// 图片列表
        /// </summary>
        [SugarColumn(IsJson = true)]
        public List<ImagesModel> ImageList { get; set; } = new List<ImagesModel>();

        /// <summary>
        /// 备注
        /// </summary>
        public string Summary { get; set; }

        /// <summary>
        /// 服务状态   1=已提交  2=服务中   3=已完成   4=已退款
        /// </summary>
        public int ServiceStatus { get; set; } = 1;

        /// <summary>
        /// 服务价格
        /// </summary>
        public decimal Price { get; set; } = 0;

        /// <summary>
        /// 支付状态
        /// </summary>
        public bool PayStatus { get; set; } = false;

        /// <summary>
        /// 退款状态  0=无操作  1=申请退款  2=同意退款 3=驳回
        /// </summary>
        public int BackStatus { get; set; } = 0;

        /// <summary>
        /// 退款原因
        /// </summary>
        public string BackSummary { get; set; }

        /// <summary>
        /// 退款进度
        /// </summary>
        [SugarColumn(IsJson = true)]
        public List<ServiceBackProgress> BackProgress { get; set; } = new List<ServiceBackProgress>();

        /// <summary>
        /// 添加时间
        /// </summary>
        public DateTime AddTime { get; set; } = DateTime.Now;


        [SugarColumn(IsIgnore = true)]
        public Member.Member Member { get; set; }

        /// <summary>
        /// 到达时间
        /// </summary>
        [SugarColumn(IsIgnore = true)]
        public string ddtime { get; set; }

        /// <summary>
        /// 起飞时间
        /// </summary>
        [SugarColumn(IsIgnore = true)]
        public string qftime { get; set; }
    }
}
